every copyWith keeps every field
A class without a copy (its fields may grow) is copied through a copyWith whose parameters default to the receiver's fields: one that misses a field rebuilds the class with that field's default instead, and a copy with every default must equal the original.